home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Light ROM 1
/
LIGHT-ROM 1 (Amiga Library Services)(1994).iso
/
ffdisks
/
d895.lha
/
FMsynth
/
FMsynth.dok
< prev
next >
Wrap
Text File
|
1993-06-27
|
12KB
|
367 lines
1m FMsynth V1.1 m
1m Bedienungsanleitung m
© Copyright 1993 von Christian Stiens
Heustiege 2
D-59348 Lüdinghausen
Germany
EMail: Christian_Stiens@ouzonix.bo.open.de (UUCP)
2:243/4802.25 (Fido)
1m1 Einführungm
FMsynth ist ein Programm, mit dem Sie Sounds mit Hilfe der FM-Synthese
erzeugen können. Die Sounds können über die Tastatur gespielt und im
IFF-8SVX Format gespeichert werden.
1m2 Copyrightm
Dieses Programm ist 3mGiftwarem. Wenn es Ihnen gefällt schicken Sie
mir doch ein kleines Geschenk.
Die Verbreitung des 4mkomplettenm and 4munverändertenm Pakets ist nur
über nichtkommerzielle Mailboxen, sowie den folgenden Public Domain Serien
gestattet:
- AMOK (Amiga Modula & Oberon Klub)
- Fred Fisk Amiga Lib Disks
- AM/FM
Der Gebrauch des Programms geschieht auf Ihr eigenes Risiko. Es wird keine
Haftung für eventuelle Schäden übernommen, die durch die Benutzung des
Programmes entstehen.
Alle Rechte vorbehalten.
1m3 Erfordernissem
Für den FileRequester benötigt das Programm die arp.library, falls die
ASL-Library der Workbench 2.0+ nicht vorhanden ist.
1m4 Anleitungm
1m4.1 Die FM-Synthesem
Es folgt zunächst eine kleine Erklärung der FM-Synthese. Sie wurde
erfunden von John Chowning und vor allem im DX7 (dem bisher meistverkauften
Syntheziser) und seinen Nachfolgern eingesetzt.
Das Prinzip der FM-Synthese besteht darin, daß eine Sinuswelle
eine andere Sinuswelle moduliert. Formelmäßig sieht das so aus:
A(t) = Ac * sin(Fc * t + Am * sin(Fm * t))
Ac: Amplitude der Trägerschwingung (Carrier)
Am: Amplitude des Modulatorschwingung
Fc: Winkelfrequenz des Trägers
Fm: Winkelfrequenz des Modulators
Man sieht also, daß die Modulatorschwingung die Phase der Träger-
schwingung moduliert. Auf diese Weise werden dem Trägersignal Ober-
töne hinzugefügt. Das Verhältnis Fc zu Fm bestimmt, ob der Klang
harmonisch (periodisch) oder unharmonisch (nichtperiodisch) ist.
Wenn das Verhältnis irrational ist (z.B. 1 zu 3.1415), dann ist der
Klang unharmonisch, ist es rational (z.B. 2 zu 3), dann ist der Klang
harmonisch. Die Frequenz der Schwingung errechnet sich aus dem
größten gemeinsamen Teiler von Fc und Fm.
Es gibt nun insgesamt 6 Operatoren (Sinusgeneratoren), die sich auf
unterschiedliche Art und Weise zusammenschalten lassen (den sogenannten
Algorithmen).
Ein Algorithmus könnte z.B. so aussehen (DX7 Notation):
+---+
| 3 |
+---+
|
+---+ +---+ +---+
| 2 | | 5 | | 6 |
+---+ +---+ +---+
| | /
+---+ +---+
| 1 | | 4 |
+---+ +---+
|_________|
Die Operatoren 1 und 4 sind in diesem Fall die Trägeroperatoren (Carrier),
die restlichen Operatoren dienen als Modulatoren. Der Algorithmus besteht
aus zwei Strängen zu je 3 Operatoren. Im ersten Strang moduliert Operator 3
den Operator 2, dieser wiederum moduliert Operator 1. Im zweiten Strang
modulieren die Operatoren 5 und 6 den Operator 4.
1m4.2 Startenm
FMsynth kann wie üblich über CLI oder Workbench gestartet werden.
1m4.3 Der Screenm
1m4.3.1 Operatorm
Hier können Sie die Parameter der 6 Operatoren editieren.
KSc/R: FMsynth benutzt für jeden Sound 5 Buffer (für jede Oktave
einen). Mit diesem Key-Ratescaling Parameter können Sie
bestimmen, wie stark die Ablaufgeschwindigkeit der Hüllkurve
bei hohen Tönen beschleunigt wird. Der Wert 64 bedeutet
Verdoppelung der Hüllkurvengeschwindigkeit pro Oktave.
KSc/L: Bei dem Wert 64 des Key-Levelscaling Parameters ist die
Amplitude für alle 5 Soundbuffer gleich. Durch Erhöhung
(Erniedrigung) dieses Wertes wird erreicht, daß der
Output-Level des Operators in höheren Oktaven größer
(kleiner) ist als in tiefen Oktaven.
Achtung: Falls auch nur ein KSc Wert irgend eines Operator
ungleich 64 ist, verdoppelt sich automatisch die Berechnungs-
zeit, weil dann jeder der 5 Soundbuffer einzeln berechnet
werden muß.
Rate/1-4: Die Rates der vier Hüllkurvensegmente. Sie bestimmen die
Geschwindigkeit mit der der entsprechende Level "angefahren"
wird.
Level/1-4: Die Levels der vier Hüllkurvensegmente
Outp Lvl: Hiermit legen Sie den Output-Level des Operators fest.
Falls der Operator als Carrier arbeitet, wird dadurch die
Lautstärke beeinflusst. Ist der Operator dagegen ein
Modulator, wird die Klangfarbe beeinflusst.
Freq: Hier können Sie die Frequenz des Operators eintragen.
Mode: Bestimmt, ob die Frequenz des Operators fest oder relativ ist.
Der Modus "RATIO" bedeutet, daß sich die Frequenz des Operators
nach der Klaviatur richtet. Der Wert "1.0" entspricht hier der
üblichen Tonlage, wobei der Ton "A" 440 Hz entspricht.
Beim Modus "FIXED" hingegen ist die Frequenz des Operators stets
konstant und beträgt z.B. 1000 Hz, wenn sie in das Freq-Gadget
"1000" eintragen. Dies stimmt jedoch nicht genau, da nicht jeder
Ton einen eigenen Soundbuffer hat, sondern nur jede Oktave.
Die tatsächliche Frequenz kann deshalb um bis zu 41% abweichen.
Achtung: Falls auch nur ein Operator auf Modus FIXED steht,
verdoppelt sich automatisch die Berechnungszeit, weil dann jeder
der 5 Soundbuffer einzeln berechnet werden muß.
1m4.3.2 LFOm
In diesem Feld können Sie die Parameter des Low Frequency Oscillators
in Echtzeit editieren. Der LFO dient dazu, den Sound mit einem Vibrato
entweder der Tonhöhe (Pitch) oder Lautstärke (Amplitude) zu versehen.
Spd: Die Geschwindigkeit des LFO
Del: Die Verzögerung nach einem Tastendruck, bis das Vibrato einsetzt
AMD: Die Stärke der Amplitudenmodulation
PMD: Die Stärke der Pitch (Frequenz) -modulation
Sie können zwischen fünf verschiedenen Wellenformen des LFO wählen.
1m4.3.3 Algorithmm
Hier können Sie den Algorithmus editieren. Klicken Sie dazu jeweils den
gewünschten Modulator an und den Carrier, der moduliert werden soll.
Die Nummer des Modulators muß größer sein wie die Nummer des Carriers.
Falls die entsprechende Verbindung noch nicht besteht, wird sie daduch
gesetzt. Ist sie jedoch schon gesetzt, wird sie wieder gelöscht.
Der Algorithmus von Abschnitt 4.1 sieht hier so aus:
+---+ +---+ +---+ +---+ +---+ +---+
| 1 | | 2 | | 3 | | 4 | | 5 | | 6 |
+---+ +---+ +---+ +---+ +---+ +---+
/ / / ____/
/ / /____/
/ / //
+---+ +---+ +---+ +---+ +---+ +---+
| 1 | | 2 | | 3 | | 4 | | 5 | | 6 |
+---+ +---+ +---+ +---+ +---+ +---+
| |
Durch die Striche unterhalb der Carrier-Gadgets wird angezeigt, welche
Operatoren als Carrier arbeiten.
1m4.3.4 Soundm
Calc: Der Sound wird berechnet.
Size: Die Gesamtgröße der 5 Soundbuffer in Bytes.
Transp: Mit diesem Transponierungsfaktor wird die Frequenz jedes
Operators mit Modus "RATIO" multipliziert.
Feedback: Bestimmt, wie oft sich Operator 6 selber moduliert. Den
Operator 6 kann man in Verbindung mit dem Feedback als
Rauschgenerator einsetzen, wie z.B. in dem Sound "Panflute".
Period: Bestimmt die Samplefrequenz beim Spielen der Note H
Mode: Bestimmt, ob der Sound Polyphon oder Monophon spielbar ist
Filter: Hiermit können Sie den Hardware LowPass-Filter des Amiga an-
oder abschalten.
RlRate: Die Release-Rate (Abklingzeit) beim Loslassen einer Taste.
Dieser Parameter kann in Echtzeit verändert werden.
1m4.4 Die Menüsm
1m4.4.1 Projectm
4mLoad Voicem
Hier können Sie die Parameter eines abgespeicherten Sound wieder einladen.
4mSave Voicem
Hiermit können Sie die Parameter des aktuellen Sounds abspeichern.
4mSave 8SVXm
Der aktuelle Sound wird im IFF-8SVX (5 Oktav) Format gespeichert.
4mNewm
Setzt das gesamte Programm auf die Startsettings zurück.
4mAboutm
Zeigt einige Informationen zum Programm
4mQuitm
Hiermit verlassen Sie das Programm wieder.
1m4.4.2 Operatorm
4mInitm
Setzt den aktuellen Operator auf die Default-Settings zurück.
4mStorem
Sie können hier die Settings des aktuellen Operators auf einen oder
mehrere andere Operators kopieren
4mFrequencym
Hiermit können Sie die Frequenz des aktuellen Operators verdoppeln
oder halbieren.
1m4.4.3 Specialm
4mAlgorithmm
Hier sind 10 oft benutze Algorithmen vorgegeben.
4mChordm
FMsynth kann Akkorde direkt berechnen. Dies ist nützlich,
da der Amiga nur 4 Audiokanäle besitzt und ein Akkord sonst
schon 3 Kanäle belegen würde. Sie können unter 7 verschiedenen
Akkorden wählen nämlich:
- Dur Dreiklang (maj)
- Moll Dreiklang (min)
- Verminderter Dreiklang (dim)
- Dreiklang mit Quartvorhalt (sus4)
- Dominant Sept Akkord (7)
- Großer Dur Sept Akkord (7maj)
- Moll Sept Akkord (7min)
Beachten Sie, daß die Berechnung eines Akkords dreimal soviel
Rechenzeit benötigt, wie die Berechnung eines normalen Sounds.
4mSet Loopm
Hier können Sie die Loop auf Ihren Sound setzen und löschen. Klicken
Sie hierzu einfach den Anfang der Loop mit der linken Maustaste und
das Ende der Loop mit der rechten Maustaste an.
Die Loop kann man nur für alle 5 Oktaven gemeinsam setzen.
4mFourierm
Führt eine Fourier-Analysis über die gesetzte Loop durch. Dadurch kann
man die Obertonstruktur erkennen.
4mAutoCalcm
Wenn AutoCalc aktiviert ist, wird bei jeder Änderung eines Parameters
der Sound automatisch neu berechnet.
1m4.5 Die Tastaturm
1m4.5.1 Das Keyboardm
Oktave 2 2 3 5 6 7 9 0 '
Q W E R T Z U I O P Ü +
Octave 1 S D G H J L Ö #
Y X C V B N M , . - SHIFT
Im unteren Screenbereich sehen Sie eine Klaviatur, auf welcher
angezeigt wird, welche Tasten gerade gedrückt sind.
1m4.5.2 Funktionstastenm
Über die Funktionstasten F1 bis F5 legen Sie die Oktaven fest, die
sie über die Tastatur erreichen können.
1m4.5.3 Leertastem
Mit der Space Taste können Sie die Tonausgabe jederzeit abbrechen.
1m5 Tips zum Klangbastelnm
Gute, interessante Klänge sind dynamisch, d.h. ihr Obertonspektrum ändert
sich dauernd. Es gibt mehrere Möglichkeiten dies zu erreichen. Einmal
durch die Hüllkurve auf die Modulatoren, aber auch durch Verstimmung.
Vergleichen Sie dazu einmal die Klänge Rechteck und Lucky im
Voice Directory. Lucky besteht aus der Summe zweier Rechteckwellen,
wobei die zweite um 1% gegenüber der ersten verstimmt ist.
1m6 Kompatibilitätm
Wenn Sie Ihre erzeugten 8SVX-Sounds in anderen Programmen wie
Sonix oder MED einsetzen wollen, sollten Sie beachten, das
die Echtzeitparameter (Release-Rate und LFO) nur für das Spielen
der Sounds in FMsynth selber beachtet werden, und keinen Einfluss
auf die 8SVX Datei haben.
1m7 Schlußwortm
Wenn Sie selber gute Sounds mit FMsynth programmiert haben, dann
schicken Sie sie mir doch (im Voice-Format nicht im 8svx Format!).
Die besten Sounds werde ich dann eventuell in der nächsten Version
veröffentlichen.
Ich danke Stephan Fuhrmann, der einige Sounds im Voice-Verzeichnis
programmiert hat.
3mViel Spaß!m